package ar.com.framenet.base.exception;

/**
 * Esta clase no esta pensada para ser wrapper de wrapper de wrapper Solo
 * soporta 2 niveles de encapsulamiento de session antes de perder algun dato
 * importante O sea, es piola para: - root exception -> exception intermedia ->
 * exception (porque mantiene el mensaje de la primera y el stack de la segunda
 * en la 3ra) - root exception -> exception (como toda excepcion java)
 * 
 */
@SuppressWarnings("serial")
public class ApplicationException extends Exception {
	private String code = null;
	private int errorNumber = -1;
	private String message = null;

	/**
	 * 
	 */
	public ApplicationException() {
		super();
	}

	/**
	 * @param message
	 */
	public ApplicationException(String message) {
		super();
		this.setMessage(message);
	}

	/**
	 * @param cause
	 */
	public ApplicationException(Throwable cause) {
		super(cause);
	}

	/**
	 * @param message
	 * @param cause
	 */
	public ApplicationException(String message, Throwable cause) {
		super(cause);
		this.setMessage(message);
	}

	/**
	 * @return
	 */
	public String getCode() {
		return code;
	}

	/**
	 * @param string
	 */
	public void setCode(String string) {
		code = string;
	}

	/**
	 * @return
	 */
	public int getErrorNumber() {
		return errorNumber;
	}

	/**
	 * @param i
	 */
	public void setErrorNumber(int i) {
		errorNumber = i;
	}

	/**
	 * @return
	 */
	public String getMessage() {
		return message;
	}

	/**
	 * @param string
	 */
	public void setMessage(String string) {
		message = string;
	}
}